The advent of cloud-based computing architectures has opened new possibilities for the rapid and scalable deployment of virtual Web stores, media outlets, and other on-line sites or services. Generally speaking, cloud computing involves delivery of computing as a service rather than a product, whereby shared resources (software, storage resources, etc.) are provided to computing devices as a service. The resources are shared over a network, which is typically the internet. In a cloud computing system, there is a plurality of physical computing machines generally known as nodes. These nodes are connected with each other, either via a high speed local area network or via a high speed bus connection to form a cloud computing infrastructure. The operator of the cloud computing infrastructure provides services to many users such as user computing devices connected to the cloud computing infrastructure via internet. A user or customer can request the instantiation of a node or set of nodes from those resources from a central server or management system to perform intended services or applications. Usually, each service includes several processes running on different nodes and each node may have multi-core processors for simultaneously running multiple processes.
The computing cloud infrastructure 10 provides a Virtualized Cloud Platform (VCP) environment to run user binaries. Hardware resource like processors, memory and database will be shared across different users. However, one user should not be allowed to access to the network resources of the other users. In particular, one user should be allowed to only access service data of the user but not allowed to access service data of any other user. As such, it requires database isolation mechanism that allows a user A access to only service information belonging to the user A, and in the meantime hiding the information of other users from the user A.
In this context, there is a need for solutions to isolate the data both at the application level and the database level.